package aiP.A2.Persistenz;

import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import java.math.BigDecimal;
import java.util.Set;

/**
 * Created with IntelliJ IDEA.
 * User: mizus
 * Date: 06.05.14
 * Time: 15:14
 * To change this template use File | Settings | File Templates.
 */
@javax.persistence.Table(name = "AI_Angebot", schema = "HR", catalog = "")
@Entity
public class AiAngebotEntity {
    private BigDecimal angebotsnr;
    private double gesamtpreis;
    private BigDecimal kundenId;
    private Set<AiBauteilEntity> AngebotsVolumen;

    @javax.persistence.Column(name = "Angebotsnr")
    @Id
    public BigDecimal getAngebotsnr() {
        return angebotsnr;
    }

    public void setAngebotsnr(BigDecimal angebotsnr) {
        this.angebotsnr = angebotsnr;
    }

    @javax.persistence.Column(name = "GESAMTPREIS")
    @Basic
    public double getGesamtpreis() {
        return gesamtpreis;
    }

    public void setGesamtpreis(double gesamtpreis) {
        this.gesamtpreis = gesamtpreis;
    }

    @javax.persistence.Column(name = "kundenID")
    @Basic
    public BigDecimal getKundenId() {
        return kundenId;
    }

    public void setKundenId(BigDecimal kundenId) {
        this.kundenId = kundenId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        AiAngebotEntity that = (AiAngebotEntity) o;

        if (Double.compare(that.gesamtpreis, gesamtpreis) != 0) return false;
        if (angebotsnr != null ? !angebotsnr.equals(that.angebotsnr) : that.angebotsnr != null) return false;
        if (kundenId != null ? !kundenId.equals(that.kundenId) : that.kundenId != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result;
        long temp;
        result = angebotsnr != null ? angebotsnr.hashCode() : 0;
        temp = Double.doubleToLongBits(gesamtpreis);
        result = 31 * result + (int) (temp ^ (temp >>> 32));
        result = 31 * result + (kundenId != null ? kundenId.hashCode() : 0);
        return result;
    }


    public String toString(){
        return "KundenID: " + kundenId + "Gesamtpreis: " + gesamtpreis + " Volumen: [" + getAngebotsVolumen() + " ]";
    }

    @OneToMany(mappedBy = "ID_AngebotsVolumen")
    public Set<AiBauteilEntity> getAngebotsVolumen() {
        return AngebotsVolumen;
    }

    public void setAngebotsVolumen(Set<AiBauteilEntity> angebotsVolumen) {
        AngebotsVolumen = angebotsVolumen;
    }
}
